home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / optivc32 / vubmath.h < prev    next >
C/C++ Source or Header  |  1999-03-06  |  2KB  |  64 lines

  1. /*  VUBmath.h
  2.  
  3.  
  4.   vector management functions for unsigned byte-sized integers:
  5.   integer arithmetics and mathematics.
  6.  
  7.   Copyright (c) 1996 - 1999 by Martin Sander
  8.   All Rights Reserved.
  9. */
  10.  
  11. #ifndef __VUBMATH_H
  12. #define __VUBMATH_H
  13.  
  14. #if !defined( __VECLIB_H )
  15.    #include <VecLib.h>
  16. #endif
  17.  
  18. #ifdef __cplusplus
  19.    extern "C" {
  20. #endif
  21.  
  22. /******************   Basic  Arithmetics   *************************/
  23.  
  24. void  __vf  VUB_addC(  ubVector Y, ubVector X, ui size, unsigned char C );
  25. void  __vf  VUB_subC(  ubVector Y, ubVector X, ui size, unsigned char C );
  26. void  __vf  VUB_subrC( ubVector Y, ubVector X, ui size, unsigned char C );
  27. void  __vf  VUB_mulC(  ubVector Y, ubVector X, ui size, unsigned char C );
  28. void  __vf  VUB_divC(  ubVector Y, ubVector X, ui size, unsigned char C );
  29. void  __vf  VUB_divrC( ubVector Y, ubVector X, ui size, unsigned char C );
  30. void  __vf  VUB_modC(  ubVector Y, ubVector X, ui size, unsigned char C );
  31. void  __vf  VUB_maxC(  ubVector Y, ubVector X, ui size, unsigned char C );
  32. void  __vf  VUB_minC(  ubVector Y, ubVector X, ui size, unsigned char C );
  33.  
  34. void __vf  VUB_addV(  ubVector Z, ubVector X, ubVector Y, ui size );
  35. void __vf  VUB_subV(  ubVector Z, ubVector X, ubVector Y, ui size );
  36. void __vf  VUB_subrV( ubVector Z, ubVector X, ubVector Y, ui size );
  37. void __vf  VUB_mulV(  ubVector Z, ubVector X, ubVector Y, ui size );
  38. void __vf  VUB_divV(  ubVector Z, ubVector X, ubVector Y, ui size );
  39. void __vf  VUB_divrV( ubVector Z, ubVector X, ubVector Y, ui size );
  40. void __vf  VUB_modV(  ubVector Z, ubVector X, ubVector Y, ui size );
  41. void __vf  VUB_maxV(  ubVector Z, ubVector X, ubVector Y, ui size );
  42. void __vf  VUB_minV(  ubVector Z, ubVector X, ubVector Y, ui size );
  43.  
  44. /******************** Accumulation (Y += X) ******************************/
  45.  
  46. void __vf VUB_accV(   ubVector Y, ubVector  X, ui size );
  47.  
  48.  
  49. /*****************   Bit-wise operations  *********************/
  50.  
  51. void    __vf  VUB_shl( ubVector Y, ubVector X, ui size, unsigned C );
  52. void    __vf  VUB_shr( ubVector Y, ubVector X, ui size, unsigned C );
  53.  
  54. void    __vf  VUB_and( ubVector Y, ubVector X, ui size, unsigned char C );
  55. void    __vf  VUB_or(  ubVector Y, ubVector X, ui size, unsigned char C );
  56. void    __vf  VUB_xor( ubVector Y, ubVector X, ui size, unsigned char C );
  57. void    __vf  VUB_not( ubVector Y, ubVector X, ui size );
  58.  
  59. #ifdef __cplusplus
  60. }
  61. #endif
  62.  
  63. #endif   /*  __VUBMATH_H    */
  64.